/*************************************************************************
	> File Name: Visitor.cc
	> Author: Joker
	> Mail: mahongtao@foxmail.com 
	> Created Time: 2020-09-23 12:19:51
 ************************************************************************/

#include "Visitor.h"

#include <iostream>
 
using std::cout;
using std::endl;

ConcreateVisitorA::ConcreateVisitorA(){
    cout << "ConcreateVisitorA()" << endl;
}

ConcreateVisitorA::~ConcreateVisitorA(){
    cout << "~ConcreateVisitorA()" << endl;
}

void ConcreateVisitorA::VisitConcreateElementA(ConcreateElementA * pConcreateElementA){
    cout << "VisitConcreateElementA by ConcreateVisitorA" << endl;
}

void ConcreateVisitorA::VisitConcreateElementB(ConcreateElementB * pConcreateElementB){
    cout << "VisitConcreateElementB by ConcreateVisitorA" << endl;
}

ConcreateVisitorB::ConcreateVisitorB(){
    cout << "ConcreateVisitorB()" << endl;
}

ConcreateVisitorB::~ConcreateVisitorB(){
    cout << "~ConcreateVisitorB()" << endl;
}

void ConcreateVisitorB::VisitConcreateElementA(ConcreateElementA * pConcreateElementA){
    cout << "VisitConcreateElementA by ConcreateVisitorB" << endl;
}

void ConcreateVisitorB::VisitConcreateElementB(ConcreateElementB * pConcreateElementB){
    cout << "VisitConcreateElementB by ConcreateVisitorB" << endl;
}
